home *** CD-ROM | disk | FTP | other *** search
/ Spacewalker F97 / Spacewalker F97.iso / DRIVER / 539 / IDE_8663.AF / UNIX / UNIX.UMC / um8673 < prev    next >
Encoding:
Text File  |  1994-01-28  |  2.6 KB  |  140 lines

  1. left_upper=\\\0311
  2. right_upper=\\\0273
  3. left_bottom=\\\0310
  4. right_bottom=\\\0274
  5. hline=\\\0315
  6. vline=\\\0272
  7.  
  8. : ${OK=0} ${FAIL=1} ${STOP=10}
  9.  
  10. getyn() {
  11.     while    echo "\n$* (y/n) \c">&2
  12.     do    read yn rest
  13.         case $yn in
  14.         [yY])    return $OK             ;;
  15.         [nN])    return $FAIL            ;;
  16.         *)    echo "Please answer y or n" >&2    ;;
  17.         esac
  18.     done
  19. }
  20.  
  21. show_msg_box()
  22. {
  23.     len=`echo $1 | wc -c`
  24.     len=`expr $len + 3`
  25.     bar="----------------------------------------------------------------"
  26.     bar=`echo $bar | sed "s/\(-\{$len\}\)\([^$]*\)/\1/"`
  27.     bar=`echo $bar | sed "s/-/\\\\$hline/g"`
  28.  
  29.     echo "\n$left_upper$bar$right_upper"
  30.     echo "$vline  $1  $vline"
  31.     echo "$left_bottom$bar$right_bottom\n"
  32. }
  33.  
  34. paramFile="/etc/conf/pack.d/um/space.c"
  35. tmp="/tmp/um$$"
  36.  
  37. setDriveTiming()
  38. {
  39.     while true
  40.     do
  41.         clear
  42.         echo "\n\
  43.     --- User Specified UM8673 Chip HDD Drive$1 Timing Count --- \n\
  44.  \n\
  45. \tPlease input the specified value of HDD Drive$1 \n\
  46. \t\t(speed 0-11, -1 for disable user specified timing) \n\
  47. \t\or q for Quit : \c" >&2
  48.  
  49.         read choice rest
  50.         case $choice in
  51.              -1| 0| 1| 2| 3| 4| 5| 6| 7| 8| 9| 10| 11)
  52.                 setpara D${1}Timing $choice
  53.                 break;;
  54.             [qQ])
  55.                 break;;
  56.             *) echo "\nPlease input 0-11, -1 or q\n";;
  57.         esac
  58.         echo "Press ENTER to continue ... \c"
  59.         read x
  60.     done
  61. }
  62.  
  63. setpara()
  64. {
  65.     cp $paramFile $tmp
  66.     sed "/$1/s/\([^=]*\)=[     ]\([^\;]*\)\([^$]*\)/\1= $2\3/p" < $tmp > $paramFile
  67.     echo
  68.     echo "Setting OK"
  69.     changed=1
  70. }
  71.  
  72. getpara()
  73. {
  74.     clear
  75.     echo "The User Specified UM8673 Timing Count :\n"
  76.     sed -n "/D/s/int /    /p" < $paramFile | \
  77.         sed -n "s/D/HDD/p" | \
  78.         sed -n "s/T/ T/p"
  79.     echo
  80. }
  81.  
  82. clean()
  83. {
  84.     if [ -f $tmp ]
  85.         then rm $tmp
  86.     fi
  87. }
  88.  
  89. trap "clean; exit" 2 3 15
  90. changed=0
  91.  
  92. while true
  93. do
  94.     clear
  95.     echo "\n\
  96. --- User Specified UM8673 Chip HDD Timing Count --- \n\
  97.  \n\
  98.  
  99. \t 1) Set User Specified Drive 0 Timing \n\
  100. \t 2) Set User Specified Drive 1 Timing \n\
  101. \t 3) Set User Specified Drive 2 Timing \n\
  102. \t 4) Set User Specified Drive 3 Timing \n\
  103. \t 5) Get User Specified Timing Count \n\
  104. \t 6) Get Current Setting Timing Count \n\
  105.  \n\
  106. or\tq) Quit \n\
  107.  \n\
  108. \tPlease input your choice : \c" >&2
  109.  
  110.     read choice rest
  111.     case $choice in
  112.          1) drive="0"
  113.             setDriveTiming $drive;;
  114.          2) drive="1"
  115.             setDriveTiming $drive;;
  116.          3) drive="2"
  117.             setDriveTiming $drive;;
  118.          4) drive="3"
  119.             setDriveTiming $drive;;
  120.          5) getpara ;;
  121.          6)    clear
  122.             echo "The Current UM8673 Timing Count :\n"
  123.             echo
  124.              /usr/lib/mkdev/umioctl
  125.             echo ;;
  126.         [qQ]) if [ $changed -eq 1 ]
  127.             then
  128.     if getyn "A new kernel must be built and rebooted to active the changed parameter. Would you like to relink at this time?"
  129.     then
  130.         ( cd /etc/conf/cf.d; ./link_unix )
  131.     fi
  132.             fi
  133.             exit 0;;
  134.         *) echo "\nPlease input 1-6 or q\n";;
  135.     esac
  136.     echo "Press ENTER to continue ... \c"
  137.     read x
  138. done
  139.  
  140.